const router = require('express').Router()
const { UploadServer } = require('../../handler/ali-oss')
const path = require('path')
const multer = require('multer');
const upload = multer();

// 在路由中使用 multer 中间件
router.post('/uploadPicture', upload.array('file'), async (req, res) => {
  try {
    const file = req.files[0];

    if (!file) {
      return res.status(400).send({ msg: '没有文件被上传' });
    }

    // 生成文件名，动态获取文件扩展名
    const ext = path.extname(file.originalname);
    const fileName = 'pic' + '-' + Date.now() + ext;

    // 上传到阿里云OSS
    const result = await UploadServer(fileName, file.buffer);

    // 返回成功响应
    res.send(ok({
      msg: '上传图片成功',
      data: {
        picUrl: result,
      },
    }));
  } catch (error) {
    console.error('图片上传失败:', error);

    // 返回错误响应
    res.status(500).send({
      msg: '上传图片失败',
      error: error.message,
    });
  }
});

module.exports = router